JSONcpp
开发环境配置
现成版百度网盘
jsoncpp现成配置环境VS2022开发环境x64
链接:https://pan.baidu.com/s/1-DjqbRVVSmDizcD8wbEGFg?pwd=5213 提取码:5213
环境配置版
下载Jsoncpp
git clone https://github.com/open-source-parsers/jsoncpp
cmake进行编译
下载cmake
cmake下载链接1 ![cmake下载文件](https://img-blog.csdnimg.cn/img_convert/1e84118cbeb15129350be607fb592d66.png)
解析出动态
安装cmake默认安装即可将jsoncpp所在文件夹,以及生成jsoncpp.dll和jsoncpp.lib`等动态文件的文件夹 第一个为VS的版本,第二个默认x64不用填
配置不动,点击生成即可,会发现生成文件逐步完成
打开生成文件的项目
将jsoncpp_dll设置为启动项,并右键点击第一个生成即可完成静态文件的生成
可以在C盘新建一个存放环境的位置cpp将下载clone的jsoncpp文件下的include文件全部放入C盘文件夹cpp中(此文件为jsoncpp的头文件)将生成文件之后项目文件夹中bin\Debug下的jsoncpp.dll复制到C盘文件夹cpp下与include同级的lib文件夹(自己创建)下将生成文件之后项目文件加中lib\Debug下的jsoncpp.lib复制到C盘cpp文件夹lib文件下下
VS2022环境配置
右键点击项目进入属性配置
![VS配置jsoncpp](https://img-blog.csdnimg.cn/img_convert/7cc2b87e760d526138093a91a765a327.png)
最后配置
运行下面的实例代码很可能出现“运行程序无法启动的问题”,将(刚才C盘中)jsoncpp.dll文件复制到main.cpp对应的资源文件夹下即可 ![VS运行最后配置](https://img-blog.csdnimg.cn/img_convert/7b30ae854226a8f0d65c7b390bfa81d5.png)
实例代码
#include
#include
#include
using namespace std;
using namespace Json;
//对于Json数组而言,内部的顺序是有序的,这个顺序就是添加数据的顺序
void writeJson()
{
//定义Value对象
Value root;
//使用append方法向Value包装器li填充数据
root.append("luffy");
root.append(19);
root.append(170);
root.append(false);
//又定义一个subArray的Value对象
Value subArray;
subArray.append("ace");
subArray.append("sabo");
//将subArray对象增加到root里面
root.append(subArray);
Value obj;
//定义键值对
obj["sex"] = "man";
obj["girlfriend"] = "Hancock";
//将obj对象的键值对增加到root里面
root.append(obj);
#if 1
//对上面数据格式序列化使用toStyledString方法得到带格式的字符串
string json = root.toStyledString();
#else
//得到不带格式的字符串
FastWriter w;
//通过write方法得到不带换行符的字符串
string json = w.write(root);
#endif
//写文件
//write -> ostream
//read -> ifstream
//将json数据写入test.json
ofstream ofs("test.json");
//写入格式化后带格式的字符串
ofs
//size方法判断
for (unsigned i = 0; i
cout
cout
cout
cout |